Inductive Program Synthesis: From Theory to Application
نویسندگان
چکیده
We present an approach to folding of finite program terms based on the detection of recurrence relations in a single given term which is considered as the kth unfolding of an unknown recursive program. Our approach goes beyond Summers’ classical approach of inductive program synthesis in several aspects and allows to deal with a larger class of programming problems. We show how inductive synthesis of recursive programs can be applied to control-rule learning and enduser programming: finite program terms are generated using domain-specific techniques and then presented as input to our folding algorithm. In the case of control-rule learning, the finite terms are obtained from a state-based planner and the resulting recursive functions represent knowledge how to guide plan construction. In the case of enduser programming, the user presents examples of the desired input/output relation, and a finite program, which transforms exactly the given IO pairs, is constructed by generate-and-test. The folded recursive program generalizes over the input domain and therefore can be applied to a larger class of problems.
منابع مشابه
Inductive Programming: A Survey of Program Synthesis Techniques
Inductive programming—the use of inductive reasoning methods for programming, algorithm design, and software development—is a currently emerging research field. A major subfield is inductive program synthesis, the (semi-)automatic construction of programs from exemplary behavior. Inductive program synthesis is not a unified research field until today but scattered over several different establi...
متن کاملA General Theory of Automatic Program Synthesis
Some results concerning inductive inference are surveyed. These results are interpreted with respect to automatic program synthesis, a special case of algorithmic inductive iruerence. The interpretations reinforce and refine opinions concerning automatic program synthesis, and artificial intelligence in general, which have been previously expressed in [9] and [15]. The final section digresses f...
متن کاملInductive Program Synthesis as Induction of Context - Free Tree Grammars
We present an application of grammar induction in the domain of inductive program synthesis. Synthesis of recursive programs from input/output examples involves the solution of two subproblems: transforming examples into straightforward programs and folding straightforward programs into (a set of) recursive equations. In this paper we focus on the second part of the synthesis problem, which cor...
متن کاملApplying Inductive Program Synthesis to Macro Learning
The goal of this paper is to demonstrate that inductive progrwn synthesis can be applied to learning macrooperators from planning experience. We define macros as recursive program schemes (RPSs). An RPS represents the complete subgoal structure of a given problem domain with arbitrary complexity (e. g., rocket transportation problem with n objects), that is, it represents domain specific contro...
متن کاملInductive Logic Program Synthesis with DIALOGS
DIALOGS (Dialog-based Inductive and Abductive LOGic program Synthesizer) is a schema-guided synthesizer of recursive logic programs; it takes the initiative and minimally queries a (possibly computationally naive) specifier for evidence in her/his conceptual language. The specifier must know the answers to such simple queries, because otherwise s/he wouldn’t even feel the need for the synthesiz...
متن کامل